home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / ccs / ccs-11tl.lha / lbl / xview / segal / view_stubs.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-22  |  19.8 KB  |  1,160 lines

  1. /*
  2.  * view_stubs.c - Notify and event callback function stubs.
  3.  * This file was generated by `gxv' from `view.G'.
  4.  */
  5.  
  6. #include "common.h"
  7. #include <stdio.h>
  8. #include <sys/param.h>
  9. #include <sys/types.h>
  10. #include <xview/xview.h>
  11. #include <xview/panel.h>
  12. #include <xview/textsw.h>
  13. #include <xview/xv_xrect.h>
  14. #include "segal.h"
  15. #include <gutil.h>
  16.  
  17. /*
  18.  * Menu handler for `menu_file_load (Image)'.
  19.  */
  20. Menu_item
  21. view_menu_file_load_item0_callback(item, op)
  22.     Menu_item    item;
  23.     Menu_generate    op;
  24. {
  25.     Xv_opaque ip = (Xv_opaque) xv_get(item, XV_KEY_DATA, INSTANCE);
  26.     
  27.     switch (op) {
  28.     case MENU_DISPLAY:
  29.         break;
  30.  
  31.     case MENU_DISPLAY_DONE:
  32.         break;
  33.  
  34.     case MENU_NOTIFY:
  35.         
  36.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  37.         /* gxv_end_connections */
  38.  
  39.         break;
  40.  
  41.     case MENU_NOTIFY_DONE:
  42.         break;
  43.     }
  44.     return item;
  45. }
  46.  
  47. /*
  48.  * Menu handler for `menu_file (Quit)'.
  49.  */
  50. Menu_item
  51. view_menu_file_item4_callback(item, op)
  52.     Menu_item    item;
  53.     Menu_generate    op;
  54. {
  55.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  56.     
  57.     switch (op) {
  58.     case MENU_DISPLAY:
  59.         break;
  60.  
  61.     case MENU_DISPLAY_DONE:
  62.         break;
  63.  
  64.     case MENU_NOTIFY:
  65.         
  66.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  67.         /* gxv_end_connections */
  68.  
  69.         break;
  70.  
  71.     case MENU_NOTIFY_DONE:
  72.         break;
  73.     }
  74.     return item;
  75. }
  76.  
  77. /*
  78.  * Menu handler for `menu_segment (Threshold ...)'.
  79.  */
  80. Menu_item
  81. view_menu_segment_item0_callback(item, op)
  82.     Menu_item    item;
  83.     Menu_generate    op;
  84. {
  85.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  86.     
  87.     switch (op) {
  88.     case MENU_DISPLAY:
  89.         break;
  90.  
  91.     case MENU_DISPLAY_DONE:
  92.         break;
  93.  
  94.     case MENU_NOTIFY:
  95.         
  96.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  97.  
  98.         {
  99.             refresh_histogram();
  100.             draw_thresh_bounds();
  101.         }
  102.         
  103.         xv_set(Threshold_pop_threshold->pop_threshold, FRAME_CMD_PUSHPIN_IN, TRUE, NULL);
  104.         xv_set(Threshold_pop_threshold->pop_threshold, XV_SHOW, TRUE, NULL);
  105.         
  106.         /* gxv_end_connections */
  107.  
  108.         break;
  109.  
  110.     case MENU_NOTIFY_DONE:
  111.         break;
  112.     }
  113.     return item;
  114. }
  115.  
  116. /*
  117.  * Menu handler for `menu_segment (Mask growing ...)'.
  118.  */
  119. Menu_item
  120. view_menu_segment_item1_callback(item, op)
  121.     Menu_item    item;
  122.     Menu_generate    op;
  123. {
  124.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  125.     
  126.     switch (op) {
  127.     case MENU_DISPLAY:
  128.         break;
  129.  
  130.     case MENU_DISPLAY_DONE:
  131.         break;
  132.  
  133.     case MENU_NOTIFY:
  134.         
  135.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  136.  
  137.         xv_set(Mask_grow_pop_mask_grow->pop_mask_grow, FRAME_CMD_PUSHPIN_IN, TRUE, NULL);
  138.         xv_set(Mask_grow_pop_mask_grow->pop_mask_grow, XV_SHOW, TRUE, NULL);
  139.         
  140.         /* gxv_end_connections */
  141.  
  142.         break;
  143.  
  144.     case MENU_NOTIFY_DONE:
  145.         break;
  146.     }
  147.     return item;
  148. }
  149.  
  150. /*
  151.  * Menu handler for `menu_segment (Filter ...)'.
  152.  */
  153. Menu_item
  154. view_menu_segment_item5_callback(item, op)
  155.     Menu_item    item;
  156.     Menu_generate    op;
  157. {
  158.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  159.     
  160.     switch (op) {
  161.     case MENU_DISPLAY:
  162.         break;
  163.  
  164.     case MENU_DISPLAY_DONE:
  165.         break;
  166.  
  167.     case MENU_NOTIFY:
  168.         
  169.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  170.         /* gxv_end_connections */
  171.  
  172.         break;
  173.  
  174.     case MENU_NOTIFY_DONE:
  175.         break;
  176.     }
  177.     return item;
  178. }
  179.  
  180. /*
  181.  * Menu handler for `menu_preferences (Display ...)'.
  182.  */
  183. Menu_item
  184. view_menu_preferences_item0_callback(item, op)
  185.     Menu_item    item;
  186.     Menu_generate    op;
  187. {
  188.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  189.     
  190.     switch (op) {
  191.     case MENU_DISPLAY:
  192.         break;
  193.  
  194.     case MENU_DISPLAY_DONE:
  195.         break;
  196.  
  197.     case MENU_NOTIFY:
  198.         
  199.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  200.  
  201.         xv_set(Preferences_pop_preferences_display->pop_preferences_display, FRAME_CMD_PUSHPIN_IN, TRUE, NULL);
  202.         xv_set(Preferences_pop_preferences_display->pop_preferences_display, XV_SHOW, TRUE, NULL);
  203.         
  204.         /* gxv_end_connections */
  205.  
  206.         break;
  207.  
  208.     case MENU_NOTIFY_DONE:
  209.         break;
  210.     }
  211.     return item;
  212. }
  213.  
  214. /*
  215.  * Notify callback function for `set_frame_x'.
  216.  */
  217. void
  218. view_win_set_frame_x_notify_callback(item, value, event)
  219.     Panel_item    item;
  220.     int        value;
  221.     Event        *event;
  222. {
  223.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  224.     
  225.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  226.  
  227.     {
  228.         win[WIN_VX].f = value;
  229.         win[WIN_VX].repaint = TRUE;
  230.         map_buffers();
  231.     }
  232.     
  233.     /* gxv_end_connections */
  234.  
  235. }
  236.  
  237. /*
  238.  * Notify callback function for `set_frame_z'.
  239.  */
  240. void
  241. view_win_set_frame_z_notify_callback(item, value, event)
  242.     Panel_item    item;
  243.     int        value;
  244.     Event        *event;
  245. {
  246.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  247.     
  248.     
  249.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  250.  
  251.     {
  252.         win[WIN_VZ].f = value;
  253.         win[WIN_VZ].repaint = TRUE;
  254.         map_buffers();
  255.     }
  256.     
  257.     /* gxv_end_connections */
  258.  
  259. }
  260.  
  261. /*
  262.  * Notify callback function for `set_frame_y'.
  263.  */
  264. void
  265. view_win_set_frame_y_notify_callback(item, value, event)
  266.     Panel_item    item;
  267.     int        value;
  268.     Event        *event;
  269. {
  270.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  271.     
  272.     
  273.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  274.  
  275.     {
  276.         win[WIN_VY].f = value;
  277.         win[WIN_VY].repaint = TRUE;
  278.         map_buffers();
  279.     }
  280.     
  281.     /* gxv_end_connections */
  282.  
  283. }
  284.  
  285. /*
  286.  * Repaint callback function for `canv_x'.
  287.  */
  288. void
  289. view_win_canv_x_repaint_callback(canvas, paint_window, rects)
  290.     Canvas        canvas;
  291.     Xv_window    paint_window;
  292.     Rectlist    *rects;
  293. {
  294.     
  295.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  296.  
  297.     {
  298.         win[WIN_VX].repaint = TRUE;
  299.         map_buffers();
  300.     }
  301.     
  302.     /* gxv_end_connections */
  303.  
  304. }
  305.  
  306. /*
  307.  * Repaint callback function for `canv_z'.
  308.  */
  309. void
  310. view_win_canv_z_repaint_callback(canvas, paint_window, rects)
  311.     Canvas        canvas;
  312.     Xv_window    paint_window;
  313.     Rectlist    *rects;
  314. {
  315.     
  316.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  317.  
  318.     {
  319.         win[WIN_VZ].repaint = TRUE;
  320.         map_buffers();
  321.     }
  322.     
  323.     /* gxv_end_connections */
  324.  
  325. }
  326.  
  327. /*
  328.  * Repaint callback function for `canv_y'.
  329.  */
  330. void
  331. view_win_canv_y_repaint_callback(canvas, paint_window, rects)
  332.     Canvas        canvas;
  333.     Xv_window    paint_window;
  334.     Rectlist    *rects;
  335. {
  336.     
  337.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  338.  
  339.     {
  340.         win[WIN_VY].repaint = TRUE;
  341.         map_buffers();
  342.     }
  343.     
  344.     /* gxv_end_connections */
  345.  
  346. }
  347.  
  348. /*
  349.  * Event callback function for `canv_x'.
  350.  */
  351. Notify_value
  352. view_win_canv_x_event_callback(win, event, arg, type)
  353.     Xv_window    win;
  354.     Event        *event;
  355.     Notify_arg    arg;
  356.     Notify_event_type type;
  357. {
  358.     view_win_objects *ip = (view_win_objects *) xv_get(xv_get(win, CANVAS_PAINT_CANVAS_WINDOW), XV_KEY_DATA, INSTANCE);
  359.     
  360.     
  361.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  362.  
  363.     {
  364.         view_event(WIN_VX, event);
  365.     }
  366.     
  367.     /* gxv_end_connections */
  368.  
  369.     return notify_next_event_func(win, (Notify_event) event, arg, type);
  370. }
  371.  
  372. /*
  373.  * Event callback function for `canv_z'.
  374.  */
  375. Notify_value
  376. view_win_canv_z_event_callback(win, event, arg, type)
  377.     Xv_window    win;
  378.     Event        *event;
  379.     Notify_arg    arg;
  380.     Notify_event_type type;
  381. {
  382.     view_win_objects *ip = (view_win_objects *) xv_get(xv_get(win, CANVAS_PAINT_CANVAS_WINDOW), XV_KEY_DATA, INSTANCE);
  383.     
  384.     
  385.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  386.  
  387.     {
  388.         view_event(WIN_VZ, event);
  389.     }
  390.     
  391.     /* gxv_end_connections */
  392.  
  393.     return notify_next_event_func(win, (Notify_event) event, arg, type);
  394. }
  395.  
  396. /*
  397.  * Event callback function for `canv_y'.
  398.  */
  399. Notify_value
  400. view_win_canv_y_event_callback(win, event, arg, type)
  401.     Xv_window    win;
  402.     Event        *event;
  403.     Notify_arg    arg;
  404.     Notify_event_type type;
  405. {
  406.     view_win_objects *ip = (view_win_objects *) xv_get(xv_get(win, CANVAS_PAINT_CANVAS_WINDOW), XV_KEY_DATA, INSTANCE);
  407.     
  408.     
  409.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  410.  
  411.     {
  412.         view_event(WIN_VY, event);
  413.     }
  414.     
  415.     /* gxv_end_connections */
  416.  
  417.     return notify_next_event_func(win, (Notify_event) event, arg, type);
  418. }
  419.  
  420. /*
  421.  * Notify callback function for `set_zoom_x'.
  422.  */
  423. void
  424. view_win_set_zoom_x_notify_callback(item, value, event)
  425.     Panel_item    item;
  426.     int        value;
  427.     Event        *event;
  428. {
  429.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  430.     
  431.     
  432.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  433.  
  434.     {
  435.         win[WIN_VX].zoom_mag = value + 1;
  436.         view_setup();
  437.         realloc_window_ximage(WIN_VX);
  438.         redisplay_view();
  439.     }
  440.     
  441.     /* gxv_end_connections */
  442.  
  443. }
  444.  
  445. /*
  446.  * Notify callback function for `set_zoom_z'.
  447.  */
  448. void
  449. view_win_set_zoom_z_notify_callback(item, value, event)
  450.     Panel_item    item;
  451.     int        value;
  452.     Event        *event;
  453. {
  454.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  455.     
  456.     
  457.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  458.  
  459.     {
  460.         win[WIN_VZ].zoom_mag = value + 1;
  461.         view_setup();
  462.         realloc_window_ximage(WIN_VZ);
  463.         redisplay_view();
  464.     }
  465.     
  466.     /* gxv_end_connections */
  467.  
  468. }
  469.  
  470. /*
  471.  * Notify callback function for `set_zoom_y'.
  472.  */
  473. void
  474. view_win_set_zoom_y_notify_callback(item, value, event)
  475.     Panel_item    item;
  476.     int        value;
  477.     Event        *event;
  478. {
  479.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  480.     
  481.     
  482.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  483.  
  484.     {
  485.         win[WIN_VY].zoom_mag = value + 1;
  486.         view_setup();
  487.         realloc_window_ximage(WIN_VY);
  488.         redisplay_view();
  489.     }
  490.     
  491.     /* gxv_end_connections */
  492.  
  493. }
  494.  
  495. /*
  496.  * Menu handler for `menu_file (Save image)'.
  497.  */
  498. Menu_item
  499. view_menu_file_item2_callback(item, op)
  500.     Menu_item    item;
  501.     Menu_generate    op;
  502. {
  503.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  504.     
  505.     switch (op) {
  506.     case MENU_DISPLAY:
  507.         break;
  508.  
  509.     case MENU_DISPLAY_DONE:
  510.         break;
  511.  
  512.     case MENU_NOTIFY:
  513.  
  514.         xv_set(List_pop_list->pop_list, FRAME_CMD_PUSHPIN_IN, TRUE, NULL);
  515.         xv_set(List_pop_list->pop_list, XV_SHOW, TRUE, NULL);
  516.         
  517.         /* gxv_end_connections */
  518.  
  519.         break;
  520.  
  521.     case MENU_NOTIFY_DONE:
  522.         break;
  523.     }
  524.     return item;
  525. }
  526.  
  527. /*
  528.  * Menu handler for `menu_file (Load image ...)'.
  529.  */
  530. Menu_item
  531. view_menu_file_item0_callback(item, op)
  532.     Menu_item    item;
  533.     Menu_generate    op;
  534. {
  535.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  536.     
  537.     switch (op) {
  538.     case MENU_DISPLAY:
  539.         break;
  540.  
  541.     case MENU_DISPLAY_DONE:
  542.         break;
  543.  
  544.     case MENU_NOTIFY:
  545.         xv_set(File_pop_load_image->pop_load_image, XV_SHOW, TRUE, NULL);
  546.         
  547.         /* gxv_end_connections */
  548.  
  549.         break;
  550.  
  551.     case MENU_NOTIFY_DONE:
  552.         break;
  553.     }
  554.     return item;
  555. }
  556.  
  557. /*
  558.  * Menu handler for `menu_file (Mask log ...)'.
  559.  */
  560. Menu_item
  561. view_menu_file_item3_callback(item, op)
  562.     Menu_item    item;
  563.     Menu_generate    op;
  564. {
  565.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  566.     
  567.     switch (op) {
  568.     case MENU_DISPLAY:
  569.         break;
  570.  
  571.     case MENU_DISPLAY_DONE:
  572.         break;
  573.  
  574.     case MENU_NOTIFY:
  575.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  576.         /* gxv_end_connections */
  577.  
  578.         break;
  579.  
  580.     case MENU_NOTIFY_DONE:
  581.         break;
  582.     }
  583.     return item;
  584. }
  585.  
  586. /*
  587.  * Event callback function for `pop_timer'.
  588.  */
  589. Notify_value
  590. view_pop_timer_event_callback(win, event, arg, type)
  591.     Xv_window    win;
  592.     Event        *event;
  593.     Notify_arg    arg;
  594.     Notify_event_type type;
  595. {
  596.     view_pop_timer_objects *ip = (view_pop_timer_objects *) xv_get(win, XV_KEY_DATA, INSTANCE);
  597.     
  598.     
  599.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  600.  
  601.     if (event_action(event) == WIN_RESIZE)
  602.     {
  603.         timer_resize_proc();
  604.     }
  605.     
  606.     /* gxv_end_connections */
  607.  
  608.     return notify_next_event_func(win, (Notify_event) event, arg, type);
  609. }
  610.  
  611. /*
  612.  * Menu handler for `menu_file (Quit)'.
  613.  */
  614. Menu_item
  615. view_menu_file_item5_callback(item, op)
  616.     Menu_item    item;
  617.     Menu_generate    op;
  618. {
  619.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  620.     
  621.     switch (op) {
  622.     case MENU_DISPLAY:
  623.         break;
  624.  
  625.     case MENU_DISPLAY_DONE:
  626.         break;
  627.  
  628.     case MENU_NOTIFY:
  629.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  630.         /* gxv_end_connections */
  631.  
  632.         break;
  633.  
  634.     case MENU_NOTIFY_DONE:
  635.         break;
  636.     }
  637.     return item;
  638. }
  639.  
  640. /*
  641.  * Menu handler for `menu_file (Save image)'.
  642.  */
  643. Menu_item
  644. view_menu_file_item1_callback(item, op)
  645.     Menu_item    item;
  646.     Menu_generate    op;
  647. {
  648.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  649.     
  650.     switch (op) {
  651.     case MENU_DISPLAY:
  652.         break;
  653.  
  654.     case MENU_DISPLAY_DONE:
  655.         break;
  656.  
  657.     case MENU_NOTIFY:
  658.         
  659.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  660.         /* gxv_end_connections */
  661.  
  662.         break;
  663.  
  664.     case MENU_NOTIFY_DONE:
  665.         break;
  666.     }
  667.     return item;
  668. }
  669.  
  670. /*
  671.  * Notify callback function for `set_mode'.
  672.  */
  673. void
  674. view_win_set_mode_notify_callback(item, value, event)
  675.     Panel_item    item;
  676.     int        value;
  677.     Event        *event;
  678. {
  679.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  680.     
  681.     
  682.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  683.  
  684.     if (value == 1)
  685.     {
  686.         segal.mode = MODE_REGISTER;
  687.     }
  688.     
  689.     if (value == 0)
  690.     {
  691.         segal.mode = MODE_SEGMENT;
  692.         if(img.loaded) xv_set(Paint_win_paint->win_paint,
  693.             XV_SHOW, TRUE,
  694.             NULL);
  695.     }
  696.     
  697.     if (value == 1)
  698.     {
  699.         xv_set(Paint_win_paint->win_paint, XV_SHOW, FALSE, NULL);
  700.     }
  701.     
  702.     if (value == 1)
  703.     {
  704.         xv_set(View_win->but_masks, XV_SHOW, FALSE, NULL);
  705.     }
  706.     
  707.     if (value == 0)
  708.     {
  709.         xv_set(View_win->but_masks, XV_SHOW, TRUE, NULL);
  710.     }
  711.     
  712.     if (value == 0)
  713.     {
  714.         xv_set(View_win->but_segment, XV_SHOW, TRUE, NULL);
  715.     }
  716.     
  717.     if (value == 1)
  718.     {
  719.         xv_set(View_win->but_segment, XV_SHOW, FALSE, NULL);
  720.     }
  721.     
  722.     if (value == 0)
  723.     {
  724.         xv_set(View_win->but_preferences, XV_SHOW, TRUE, NULL);
  725.     }
  726.     
  727.     if (value == 1)
  728.     {
  729.         xv_set(View_win->but_preferences, XV_SHOW, FALSE, NULL);
  730.     }
  731.     
  732.     if (value == 0)
  733.     {
  734.         xv_set(View_win->msg_not_implemented, XV_SHOW, FALSE, NULL);
  735.     }
  736.     
  737.     if (value == 1)
  738.     {
  739.         xv_set(View_win->msg_not_implemented, XV_SHOW, TRUE, NULL);
  740.     }
  741.     
  742.     /* gxv_end_connections */
  743.  
  744. }
  745.  
  746. /*
  747.  * Notify callback function for `set_display'.
  748.  */
  749. void
  750. view_win_set_display_notify_callback(item, value, event)
  751.     Panel_item    item;
  752.     unsigned int    value;
  753.     Event        *event;
  754. {
  755.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  756.     short    i;
  757.     LOGIC orig_image, orig_mask, orig_xy;
  758.     
  759.     orig_image = segal.disp_image;
  760.     orig_mask = segal.disp_mask;
  761.     orig_xy = segal.disp_xy;
  762.  
  763.     segal.disp_image = FALSE;
  764.     segal.disp_mask = FALSE;
  765.     segal.disp_xy = FALSE;
  766.  
  767.     for (i = 0; i < 3; i++) {
  768.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  769.  
  770.         if (i == 0 && (value & 01))
  771.         {
  772.             segal.disp_image = TRUE;
  773.             
  774.         }
  775.         
  776.         if (i == 1 && (value & 01))
  777.         {
  778.             segal.disp_mask = TRUE;
  779.             
  780.         }
  781.         
  782.         if (i == 2 && (value & 01))
  783.         {
  784.             segal.disp_xy = TRUE;
  785.             
  786.         }
  787.         
  788.         /* gxv_end_connections */
  789.  
  790.         value >>= 1;
  791.     }
  792.  
  793.     /* just to be safe ... */
  794.     if(!segal.r3d) segal.disp_xy = FALSE;
  795.  
  796.     /* changes that need to be addressed ... */
  797.     if(segal.disp_xy != orig_xy) view_setup();
  798.     if(segal.disp_image != orig_image
  799.     || segal.disp_mask != orig_mask) redisplay_all();
  800. }
  801.  
  802. /*
  803.  * Menu handler for `menu_file_load (Mask)'.
  804.  */
  805. Menu_item
  806. view_menu_file_load_item1_callback(item, op)
  807.     Menu_item    item;
  808.     Menu_generate    op;
  809. {
  810.     Xv_opaque ip = (Xv_opaque) xv_get(item, XV_KEY_DATA, INSTANCE);
  811.     
  812.     switch (op) {
  813.     case MENU_DISPLAY:
  814.         break;
  815.  
  816.     case MENU_DISPLAY_DONE:
  817.         break;
  818.  
  819.     case MENU_NOTIFY:
  820.         
  821.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  822.         /* gxv_end_connections */
  823.  
  824.         break;
  825.  
  826.     case MENU_NOTIFY_DONE:
  827.         break;
  828.     }
  829.     return item;
  830. }
  831.  
  832. /*
  833.  * Notify callback function for `but_requant'.
  834.  */
  835. void
  836. view_win_but_requant_notify_callback(item, event)
  837.     Panel_item    item;
  838.     Event        *event;
  839. {
  840.     view_win_objects *ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  841.     
  842.     
  843.     /* gxv_start_connections DO NOT EDIT THIS SECTION */
  844.     /* gxv_end_connections */
  845.  
  846. }
  847.  
  848. /*
  849.  * Menu handler for `menu_image (Load image ...)'.
  850.  */
  851. Menu_item
  852. view_menu_image_item0_callback(item, op)
  853.     Menu_item    item;
  854.     Menu_generate    op;
  855. {
  856.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  857.     
  858.     switch (op) {
  859.     case MENU_DISPLAY:
  860.         break;
  861.  
  862.     case MENU_DISPLAY_DONE:
  863.         break;
  864.  
  865.     case MENU_NOTIFY:
  866.         
  867.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  868.  
  869.         xv_set(File_pop_load_image->pop_load_image, XV_SHOW, TRUE, NULL);
  870.         
  871.         /* gxv_end_connections */
  872.  
  873.         break;
  874.  
  875.     case MENU_NOTIFY_DONE:
  876.         break;
  877.     }
  878.     return item;
  879. }
  880.  
  881. /*
  882.  * Menu handler for `menu_image (Save image as ...)'.
  883.  */
  884. Menu_item
  885. view_menu_image_item1_callback(item, op)
  886.     Menu_item    item;
  887.     Menu_generate    op;
  888. {
  889.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  890.     
  891.     switch (op) {
  892.     case MENU_DISPLAY:
  893.         break;
  894.  
  895.     case MENU_DISPLAY_DONE:
  896.         break;
  897.  
  898.     case MENU_NOTIFY:
  899.         
  900.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  901.  
  902.         xv_set(File_pop_save_image->pop_save_image, XV_SHOW, TRUE, NULL);
  903.         
  904.         /* gxv_end_connections */
  905.  
  906.         break;
  907.  
  908.     case MENU_NOTIFY_DONE:
  909.         break;
  910.     }
  911.     return item;
  912. }
  913.  
  914. /*
  915.  * Menu handler for `menu_image (List ...)'.
  916.  */
  917. Menu_item
  918. view_menu_image_item2_callback(item, op)
  919.     Menu_item    item;
  920.     Menu_generate    op;
  921. {
  922.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  923.     
  924.     switch (op) {
  925.     case MENU_DISPLAY:
  926.         break;
  927.  
  928.     case MENU_DISPLAY_DONE:
  929.         break;
  930.  
  931.     case MENU_NOTIFY:
  932.         
  933.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  934.  
  935.         xv_set(List_pop_list->pop_list, FRAME_CMD_PUSHPIN_IN, TRUE, NULL);
  936.         xv_set(List_pop_list->pop_list, XV_SHOW, TRUE, NULL);
  937.         
  938.         /* gxv_end_connections */
  939.  
  940.         break;
  941.  
  942.     case MENU_NOTIFY_DONE:
  943.         break;
  944.     }
  945.     return item;
  946. }
  947.  
  948. /*
  949.  * Menu handler for `menu_image (Quit)'.
  950.  */
  951. Menu_item
  952. view_menu_image_item3_callback(item, op)
  953.     Menu_item    item;
  954.     Menu_generate    op;
  955. {
  956.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  957.     
  958.     switch (op) {
  959.     case MENU_DISPLAY:
  960.         break;
  961.  
  962.     case MENU_DISPLAY_DONE:
  963.         break;
  964.  
  965.     case MENU_NOTIFY:
  966.         
  967.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  968.  
  969.         {
  970.             /* FALSE -> save only if image changed */
  971.             save_image(FALSE);
  972.             unload_all_masks();
  973.             
  974.             if(!begin_timer()) enq_bg_job(JOB_QUIT, 0);
  975.             else {
  976.                 xv_set(View_win->win,
  977.                     FRAME_NO_CONFIRM, TRUE,
  978.                     NULL);
  979.             
  980.                 xv_destroy_safe(View_win->win);
  981.                 exit(0);
  982.             }
  983.         }
  984.         
  985.         /* gxv_end_connections */
  986.  
  987.         break;
  988.  
  989.     case MENU_NOTIFY_DONE:
  990.         break;
  991.     }
  992.     return item;
  993. }
  994.  
  995. /*
  996.  * Menu handler for `menu_segment (Filter ...)'.
  997.  */
  998. Menu_item
  999. view_menu_segment_item2_callback(item, op)
  1000.     Menu_item    item;
  1001.     Menu_generate    op;
  1002. {
  1003.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  1004.     
  1005.     switch (op) {
  1006.     case MENU_DISPLAY:
  1007.         break;
  1008.  
  1009.     case MENU_DISPLAY_DONE:
  1010.         break;
  1011.  
  1012.     case MENU_NOTIFY:
  1013.         
  1014.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  1015.  
  1016.         xv_set(Filter_pop_filter->pop_filter, XV_SHOW, TRUE, NULL);
  1017.         
  1018.         /* gxv_end_connections */
  1019.  
  1020.         break;
  1021.  
  1022.     case MENU_NOTIFY_DONE:
  1023.         break;
  1024.     }
  1025.     return item;
  1026. }
  1027.  
  1028. /*
  1029.  * Menu handler for `menu_masks (Mask log ...)'.
  1030.  */
  1031. Menu_item
  1032. view_menu_masks_item0_callback(item, op)
  1033.     Menu_item    item;
  1034.     Menu_generate    op;
  1035. {
  1036.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  1037.     
  1038.     switch (op) {
  1039.     case MENU_DISPLAY:
  1040.         break;
  1041.  
  1042.     case MENU_DISPLAY_DONE:
  1043.         break;
  1044.  
  1045.     case MENU_NOTIFY:
  1046.         
  1047.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  1048.  
  1049.         xv_set(Mask_log_pop_mask_log->pop_mask_log, FRAME_CMD_PUSHPIN_IN, TRUE, NULL);
  1050.         xv_set(Mask_log_pop_mask_log->pop_mask_log, XV_SHOW, TRUE, NULL);
  1051.         
  1052.         /* gxv_end_connections */
  1053.  
  1054.         break;
  1055.  
  1056.     case MENU_NOTIFY_DONE:
  1057.         break;
  1058.     }
  1059.     return item;
  1060. }
  1061.  
  1062. /*
  1063.  * Menu handler for `menu_masks (Load ...)'.
  1064.  */
  1065. Menu_item
  1066. view_menu_masks_item1_callback(item, op)
  1067.     Menu_item    item;
  1068.     Menu_generate    op;
  1069. {
  1070.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  1071.     
  1072.     switch (op) {
  1073.     case MENU_DISPLAY:
  1074.         break;
  1075.  
  1076.     case MENU_DISPLAY_DONE:
  1077.         break;
  1078.  
  1079.     case MENU_NOTIFY:
  1080.         
  1081.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  1082.  
  1083.         xv_set(File_pop_load_mask->pop_load_mask, XV_SHOW, TRUE, NULL);
  1084.         
  1085.         /* gxv_end_connections */
  1086.  
  1087.         break;
  1088.  
  1089.     case MENU_NOTIFY_DONE:
  1090.         break;
  1091.     }
  1092.     return item;
  1093. }
  1094.  
  1095. /*
  1096.  * Menu handler for `menu_masks (New ...)'.
  1097.  */
  1098. Menu_item
  1099. view_menu_masks_item2_callback(item, op)
  1100.     Menu_item    item;
  1101.     Menu_generate    op;
  1102. {
  1103.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  1104.     
  1105.     switch (op) {
  1106.     case MENU_DISPLAY:
  1107.         break;
  1108.  
  1109.     case MENU_DISPLAY_DONE:
  1110.         break;
  1111.  
  1112.     case MENU_NOTIFY:
  1113.         
  1114.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  1115.  
  1116.         xv_set(File_pop_new_mask->pop_new_mask, XV_SHOW, TRUE, NULL);
  1117.         
  1118.         /* gxv_end_connections */
  1119.  
  1120.         break;
  1121.  
  1122.     case MENU_NOTIFY_DONE:
  1123.         break;
  1124.     }
  1125.     return item;
  1126. }
  1127.  
  1128. /*
  1129.  * Menu handler for `menu_masks (Save as ...)'.
  1130.  */
  1131. Menu_item
  1132. view_menu_masks_item3_callback(item, op)
  1133.     Menu_item    item;
  1134.     Menu_generate    op;
  1135. {
  1136.     view_win_objects * ip = (view_win_objects *) xv_get(item, XV_KEY_DATA, INSTANCE);
  1137.     
  1138.     switch (op) {
  1139.     case MENU_DISPLAY:
  1140.         break;
  1141.  
  1142.     case MENU_DISPLAY_DONE:
  1143.         break;
  1144.  
  1145.     case MENU_NOTIFY:
  1146.         
  1147.         /* gxv_start_connections DO NOT EDIT THIS SECTION */
  1148.  
  1149.         xv_set(File_pop_save_as->pop_save_as, XV_SHOW, TRUE, NULL);
  1150.         
  1151.         /* gxv_end_connections */
  1152.  
  1153.         break;
  1154.  
  1155.     case MENU_NOTIFY_DONE:
  1156.         break;
  1157.     }
  1158.     return item;
  1159. }
  1160.